package com.cwz.file.config;

import io.minio.MinioClient;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

/**
 * @program: w-demo
 * @description: minio 配置属性
 * @author: Wen
 **/
@Data
@NoArgsConstructor
@Component
@ConfigurationProperties("minio")
public class MinioProperties {
	/**
	 * 服务地址
	 */
	private String url;

	/**
	 * 用户名
	 */
	private String accessKey;

	/**
	 * 密码
	 */
	private String secretKey;

	/**
	 * 公用 Bucket
	 */
	private String publicBucket;

	/**
	 * 文件夹管理 Bucket
	 */
	private String fileBucket;

	/**
	 * @Description: 创建 minio 客户端
	 * @Author: Wen
	 * @return: io.minio.MinioClient
	 **/
	@Bean
	public MinioClient getMinioClient() {
		return MinioClient.builder().endpoint(url).credentials(accessKey, secretKey).build();
	}
}
